﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="TCRestoDruidSettings.cs" company="Tiago Costa">
//   Copyright © 2012. All rights reserved.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------
namespace TCRestoDruid
{
    #region References

    using System.IO;

    using Styx;
    using Styx.Helpers;

    #endregion

    public class TCRestoDruidSettings : Settings
    {
        #region Static Fields

        private static TCRestoDruidSettings instance;

        #endregion

        #region Constructors and Destructors

        private TCRestoDruidSettings()
            : base(Path.Combine(Logging.ApplicationPath, string.Format(@"CustomClasses/TCRestoDruid/Config/TCRestoDruid-Settings-{0}.xml", StyxWoW.Me.Name)))
        {
            this.SettingsPath = string.Format(@"TCRestoDruid-Settings-{0}.xml", StyxWoW.Me.Name);
        }

        #endregion

        #region Public Properties

        public static TCRestoDruidSettings Instance
        {
            get
            {
                return instance ?? (instance = new TCRestoDruidSettings());
            }
        }

        [Setting]
        [DefaultValue(0)]
        public int HealthPercent { get; set; }

        [Setting]
        [DefaultValue(3)]
        public int LifebloomCount { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool Log { get; set; }

        [Setting]
        [DefaultValue(30)]
        public int ManaPercent { get; set; }

        [Setting]
        [DefaultValue(97)]
        public int NourishPercent { get; set; }

        [Setting]
        [DefaultValue(false)]
        public bool OnlyHealInstances { get; set; }

        [Setting]
        [DefaultValue(60)]
        public int PercentOfPlayersAliveInNeedOfHealing { get; set; }

        [Setting]
        [DefaultValue(60)]
        public int RegrowthPercent { get; set; }

        [Setting]
        [DefaultValue(98)]
        public int RejuvenationPercent { get; set; }

        [Setting]
        [DefaultValue(45)]
        public double SOSHealingPercent { get; set; }

        public string SettingsPath { get; set; }

        [Setting]
        [DefaultValue(99)]
        public int SwiftmendPercent { get; set; }

        [Setting]
        [DefaultValue(75)]
        public int TranquilityPercent { get; set; }

        [Setting]
        [DefaultValue(55)]
        public int TreePercent { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool UseBarkskin { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool UseNaturesGrasp { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool UseRebirth { get; set; }

        [Setting]
        [DefaultValue(false)]
        public bool UseRemoveCurse { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool UseRevive { get; set; }

        [Setting]
        [DefaultValue(true)]
        public bool UseTree { get; set; }

        [Setting]
        [DefaultValue(99)]
        public int WildGrowthPercent { get; set; }

        #endregion
    }
}